1. Field of the Invention
The present invention relates generally to the field of digital data processing systems, and more particularly to integrating the flow of information between a variety of computing tools in an enterprise computing environment.
2. Description of the Related Art
In modem enterprise computing environments, that is, computer systems for use in an office environment in a company, for example, a number of personal computers, workstations, mainframes, and the like along with other devices such as large mass storage subsystems, network interfaces, as well as interfaces to the public telephony systems may be interconnected to provide an integrated environment in which information may be shared among various users. Typically, users may be performing a variety of operations, including order receipt, manufacturing, shipping, billing, inventory control, and other operations in which sharing of data on a real time basis may provide a significant advantage over, for example, maintaining separate records and attempting to reconcile them later.
Several strategies have been developed to allow for sharing of information in an enterprise computing environment. One problem that arises in an enterprise computing environment is that often the various users are using programs which have been developed based on a data or programming model that assumes that the data they receive, process, and store will be unique to the program, which models often are convenient for the program developer for the particular type of operations performed by the program. However, in one strategy, all types of programs would be constrained to the same type data or programming model. There are several problems with this strategy. For example, all types of programs would be constrained to the same type data or programming model, which may be efficient for some types of programs but very inefficient for other types of programs. In addition, such a strategy would require all program developers to conform to a single data or programming model, which may reduce competitive advantages which developer's programs may be able to otherwise have if they would be able to use a data or programming model of their own choosing.
Another strategy is to provide an information exchange engine that can translate data between model's formats of various programs which may be used in the enterprise computing environment. While this will allow each program to have its own data or programming model, it may require acquiring and maintaining exchange engines for a number of programs and a user to select an appropriate exchange engine when importing or exporting information form another program. In addition, as the number of users and/or exchange engines increases in order to meet the needs of an expanding system, the interconnections between each of the components becomes prohibitively complex forming a “spaghetti like mass”. This increase in complexity effectively limits the scalability of an integrated set of computer resources since any additional computer resources requires reconfiguring the entire system.
FIG. 1 is an illustration of a conventional enterprise computing system 100. The enterprise computing system 100 includes exchange engines 102–110 capable of accessing and cross connection of any number and type of information platforms 112 and 114. Such platforms include various database management systems, applications programs, large mass storage subsystems, network interfaces, as well as interfaces to the public telephony systems such as to the Internet. The database management applications generally include computer programs that are executed in conventional manner by digital computer systems. Typically, the exchange engines include computer programs executed by digital computer systems (which may be the same digital computer systems on which their respective applications programs are executed). The exchange engines and the application programs are processed and maintained on a number of digital computer systems interconnected by, for example, a network 116 which transfers data access requests, translated data access requests and responses between the computer systems on which the exchange engines and application programs are processed. As can be seen, as the enterprise computer system expands, the number of application programs and associated digital computer systems increase to meet the needs of the expanded enterprise computer system. This increase in the number of digital computers greatly increases the complexity of the network 116 which in turn greatly increases the resources required to maintain and upgrade the system 100.
Transaction security is also of paramount importance since users must be certain that all transactions carried out over the enterprise computer system are secure. By secure, it is meant that sensitive information, such as account numbers, account balances, passwords, etc. are safe from unauthorized users. Conventionally, enterprise computer systems have used various encryption type solutions to these problems. Unfortunately, although encryption type security measures can be useful in protecting information itself, providing transactional security is more problematic. By transactional security, it is meant that a subscriber, for example, is only able to receive events (authorized) of a specific security level, such as secret, or lower such as confidential. However, this same subscriber will not be authorized to receive higher level security, such as top secret.
In view of the foregoing, it would be advantageous and therefore desirable to have a scalable enterprise computer system having the capability to provide transaction security. In addition, the scalable enterprise computer system should also be capable of providing subscription filtering.